package vip.xiaonuo.pm.modular.product.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.common.param.DeleteByIdParam;
import vip.xiaonuo.pm.modular.product.entity.PmProductEntity;
import vip.xiaonuo.pm.modular.product.param.ProductAddParam;
import vip.xiaonuo.pm.modular.product.param.ProductEditParam;
import vip.xiaonuo.pm.modular.product.param.ProductPageParam;

import java.util.List;

/**
 * <p>
 * 产品表 服务类
 * </p>
 *
 * @author xhs
 * @since 2025-06-04
 */
public interface PmProductService extends IService<PmProductEntity> {

    /**
     * 根据ID查询数据
     *
     * @param id 入参
     * @return PmProductEntity
     */
    PmProductEntity queryEntityById(String id);

    /**
     * 新增产品
     *
     * @param productAddParam 入参
     */
    void add(ProductAddParam productAddParam);

    /**
     * 编辑产品
     *
     * @param productEditParam 入参
     */
    void edit(ProductEditParam productEditParam);

    /**
     * 删除产品
     *
     * @param DeleteIdParamList 入参
     */
    void delete(List<DeleteByIdParam> DeleteIdParamList);

    /**
     * 获取产品分页
     *
     * @param productPageParam 入参
     * @return Page<PmProductEntity>
     */
    Page<PmProductEntity> page(ProductPageParam productPageParam);
}
